package demo1;

//抽象类使用abstract修饰，抽象方法也是用abstract修饰
//注意 --- 抽象类可以没有抽象方法，但是抽象方法必须在抽象类中定义的
//抽象类最主要是用来被继承的

public abstract class Shape {

    //抽象类也可以有构造方法 -- 使用子类调用构造方法来初始化抽象类的成员变量
    public Shape() {

    }

    public abstract void draw();//当一个父类不能确定要画什么内容时，就可以使用抽象类，就不用实例化方法


    int a = 10086;//抽象类可以有普通的成员变量
    public void test() {
        System.out.println("这是父类的test");
        //抽象类也可以有普通成员方法
    }


    //抽象方法不能被static final private修饰，因为抽象类就是用来被继承的，如果就这些修饰，就无法继承了
    //public static abstract void print();
    //public final abstract void print();
    //private abstract void print();

}
